package bean;

import java.io.Serializable;
import java.util.ArrayList;

import javax.persistence.*;

@Entity
@Table (name = "listasDePrecios")
public class ListaDePrecios implements Serializable{
	private static final long serialVersionUID = 1L;
	
	@EmbeddedId
	private ListaDePreciosID idLista;
	@OneToOne
	@JoinColumn (name = "cuil")
	private Proveedor proveedor;
	private String fechaInicio;
	private String fechaTermino;
	@Transient
	private ArrayList <Item_ListaPrecios> items = new ArrayList <Item_ListaPrecios>();
	private float recargo30;
	private float recargo60;
	private float descuentoCtdo;
	
	public ListaDePrecios() {
		super();
	}

	public ListaDePreciosID getIdLista() {
		return idLista;
	}

	public void setIdLista(ListaDePreciosID idLista) {
		this.idLista = idLista;
	}

	public Proveedor getProveedor() {
		return proveedor;
	}

	public void setProveedor(Proveedor proveedor) {
		this.proveedor = proveedor;
	}

	public String getFechaInicio() {
		return fechaInicio;
	}

	public void setFechaInicio(String fechaInicio) {
		this.fechaInicio = fechaInicio;
	}

	public String getFechaTermino() {
		return fechaTermino;
	}

	public void setFechaTermino(String fechaTermino) {
		this.fechaTermino = fechaTermino;
	}

	public ArrayList<Item_ListaPrecios> getItems() {
		return items;
	}

	public void setItems(ArrayList<Item_ListaPrecios> items) {
		this.items = items;
	}

	public float getRecargo60() {
		return recargo60;
	}

	public void setRecargo60(float recargo60) {
		this.recargo60 = recargo60;
	}

	public float getRecargo30() {
		return recargo30;
	}

	public void setRecargo30(float recargo30) {
		this.recargo30 = recargo30;
	}

	public float getDescuentoCtdo() {
		return descuentoCtdo;
	}

	public void setDescuentoCtdo(float descuentoCtdo) {
		this.descuentoCtdo = descuentoCtdo;
	}
	
	@Override
	public boolean equals(Object obj) {
		if (obj == null) return false;
		if (! (obj instanceof ListaDePrecios)) return false;
		ListaDePrecios temp = (ListaDePrecios) obj;
		return this.idLista.equals(temp.idLista);
	}

	@Override
	public int hashCode() {
		return super.hashCode();
	}
}
